"""
    说明：
        Selenium中对cookie操作提供相应的方法
    方法：
        get_cookie(name)            --> 获取指定cookie
            name：为cookie的名称
        get_cookies()               --> 获取本网站所有本地cookie
        add_cookie(cookie_dict)     --> 添加cookie
            cookie_dict：一个字典对象，必须的键包括："name" and "value"
    需求：
        1. 手动登录百度，获取cookie
        2. 使用获取到的cookie，达到登录目的，然后就可以执行登录之后的操作
"""

# 导包
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By

# 获取浏览器驱动对象
driver = webdriver.Chrome()
# 打开url
url = "http://www.baidu.com"
driver.get(url)
# 最大化浏览器
driver.maximize_window()
# 隐式等待
driver.implicitly_wait(30)

"""
    目标：
        cookie操作
    案例：
        使用cookie绕过百度登录
    步骤：
        1. 手动登录百度网站
        2. 手动获取登录后的cookies 'BDUSS'
        3. 使用selenium内的add_cookie(name = 'BDUSS', value = 'xxxx')
"""
# 设置cookie
driver.add_cookie({"name": "BDUSS",
                   "value": "ERBdmVibnFiSDY1MU5tY2J-VzJZWjJTQTNXcm9ZdzhaSmRNM05OcUNWaGR1SjVrSUFBQUFBJCQAAAAAAAAAAAEAAAC7C1qavdCxprGmtcSxtLG0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0rd2RdK3dka"})

# 获取所有cookie信息
# cookies = driver.get_cookies()
# print("cookies内容为：", cookies)
# for co in cookies:
#     print(co['name'])

cookie = driver.get_cookie("BDUSS")
print("cookie:", cookie)

# 暂停2秒
sleep(2)
# 刷新，必须进行刷新才能看到效果
driver.refresh()

# 暂停2秒
sleep(10)
# 关闭驱动对象
driver.quit()
